perm filename A81.TEX[254,RWF]1 blob sn#876833 filedate 1989-09-01 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\input macro[1,mps]
C00007 ENDMK
C⊗;
\input macro[1,mps]
\input macrwf[1,mps]
\magnification\magstephalf
\baselineskip 14pt
\leftline{\sevenrm A81.Tex[254,rwf]\today}
\leftline{\copyright\sevenrm Robert W. Floyd, August 28, 1989}
\leftline{\sevenrm Unpublished draft}
\bigskip
\noindent{\bf The Decomposition Theorem for CFGs}
\medskip
If $x↓1x↓2\ldots x↓n \aRa y$, then $y$ can be decomposed into $y↓1y↓2\ldots
y↓n$ where $x↓i\aRa y↓i$.  All the ideas of the proof are exemplified in the 
following two cases.

Case 1:  $x↓1x↓2 \Rao y$; \hbox{let} $y↓1 = x↓1, y↓2 = x↓2$.

Case 2:  $x↓1x↓2 \Ram y, x↓1 = uAw, A→v, x↓1x↓2 = uAw x↓2\Rightarrow uvw x↓2
\Ramm y$.

By induction on $m$ $uvm \aRa y↓1, x↓2 \aRa y↓2, y = y↓1y↓2$.  Then $x↓1 = uAw 
\Rightarrow uvw \aRa y↓1, x↓2 \aRa y↓2$.  In fact, $x↓1 \Rai y↓1, x↓2 \Raj y↓2,
i + j = m-1,\, \hbox{so}\, i, j < m$.

If $A \Ram y \in T↑\ast$, (so $A\not= y$, $m > o)$, in Chomsky form
$A → BC \Ramm y$.  By the decomposition theorem $B \Rai y↓1, C \Raj y↓2, y = y↓1
y↓2, i < m, j < m$.  This allows a convenient form of induction on $m$.

Let $G$ be a $CFG$ in Chomsky form, with alphabet $N+T$ and root $S$.  Let
$D$ be a digraph, with each arc bearing a label from $T$.  Let $L↓{ij}$ be
the set of strings labeling paths in $D$ from $i$ to $j$.  We show that
languages $L↓G \frown L↓{pq}$ are $CFLs$.

Let $G'$ have nonterminals $A↓{ij}$, $A\in N$, and root $S↓{pq}$.  For
each $A → BC$ in $G$, and for all modes $i, j, k$ of $D$, put $A↓{ik} →
B↓{ij} C↓{jk}$ into $G$.  If $\langle i, t, j\rangle$ is an arc in $D$
and $A → t$ in $G$, put $A↓{ij} → t$ in $G'$.

By the Chomskian induction principle, assume $A\aRag y\in T↑\ast$ and $y$
labels a path from $i$ to $k$ in $D$.  If $m-1$, $A\tog t = y$, $\mid x\mid
= 1$, $t$ labels an arc $\langle i, t, k\rangle$ and $A↓{ik} \togp t$.

If $m > 1$, $A \mtog BC \aRa y↓1y↓2$, $y↓1$ labels a path from $i$ to $j$,
$y↓2$ labels a path from $j$ to $k$, for some $j$, $B \Rightarrow y$,
$C \Rightarrow y↓2$.  By Chomskian induction, $B↓{ij} \Rag y↓1$, $C↓{jk} \Ragp
y↓2$, so $A↓{ik} \togp B↓{ij} C↓{jk} \aRa y↓1y↓2 = y$.  This shows, if
$A \aRag x\in T↑\ast$ and $x$ labels a path from $i$ to $k$ in $D$, then
$A↓{ik} \aRagp x$.  The converse is easy and is left to the reader.

This proves:

\noindent{\bf Theorem:} The intersection of a $CFL$ and a $FML$ is a $CFL$.

By a slightly more elaborate construction, we show that the image of a $CFL$
under a non-deterministic finite-state transduction is a $CFL$.  This includes
union and intersection with $FMLs$, string morphisms and their inverses,
shuffle with $FMLs$, $\ldots$
\vskip 1in
To show $PDL$s are $CFLs$, start with the stack language as a $CFL$.
Transduce into instructions.  Intersect with the control language.  Select the
input/output characters

\noindent{\bf (Exercise:} directly construct a $CFL$ from a $PDM$)

To show $CFLs$ are $PDLs$, push $S$, pop $A$, push a $RHS$ for $A$.
\bye